
/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername(str) {
  // const valid_map = ['admin', 'editor']
  // return valid_map.indexOf(str.trim()) >= 0
  return true
}

export const validateQuantity = (value, required) => {
  if (!value && required) {
    return '数量不能为空'
  }
  var regex = /^[0-9]+.?[0-9]*$/
  if (!regex.test(value)) {
    return '输入的不是一个正数'
  } else if (value === '0' || parseFloat(value) === 0) {
    return '数量不能为0'
  }

  return null
}

export const VALIDATE_QUANTITY = (rule, value, callback) => {
  const msg = validateQuantity(value, true)
  if (msg != null) {
    callback(new Error(msg))
  }
  callback()
}

export function validUnit(value) {
  if (value) {
    return ['g', 'kg', 'mg', 'ug', 'l', 'kl', 'ml', 'ul', 'u', 'ku', 'iu', 'kiu', 'mg/ml', 'mg/l', 'u/ml'].includes(value.toLowerCase())
  }
  return false
}

export function isNumber(value) {
  return value.replace(/[^\d.]/gi, '')
}
